﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Data.SqlClient;
using System.Data;
using System.Web.Security;
using vncom.Models;

namespace vncom.Controllers
{
    public class BannersysController : Controller
    {
        //
        // GET: /DMBannerSYS/

        public ActionResult Index()
        {
            return View();
        }

        #region "Danh sach danh muc template"
        public ActionResult BannersysList(string id)
        {
            List<SqlParameter> Pram = new List<SqlParameter>();
            SqlParameter ParentID = new SqlParameter("@ParentID", SqlDbType.VarChar);
            ParentID.Value = "";
            Pram.Add(ParentID);
            SqlParameter M_TemplateID = new SqlParameter("@M_TemplateID", SqlDbType.VarChar);
            M_TemplateID.Value = id;
            Pram.Add(M_TemplateID);
            ViewData["DM_BannerSYS_List"] = DataProvider.SelectStoreProcedure("DM_BannerSYS_Lst", Pram);
            ViewData["M_TemplateID"] = id;
            return View();
        }
        #endregion

        #region "Them moi banner"
        public ActionResult BannersysAdd(string id)
        {
            ViewData["M_TemplateID"] = id;
            return View(new DM_BannerSYS());
        }

        [HttpPost]
        [ValidateInput(false)]
        public ActionResult BannersysAdd(DM_BannerSYS DMBSYS, string hdTemplateID)
        {
            string kiemTra = KiemTra(hdTemplateID);
            if (kiemTra != "")
            {
                var PramI = setDuLieu(DMBSYS, hdTemplateID, kiemTra);
                DataProvider.NonqueryProc("DM_BannerSYS_Ins", PramI);
            }
            else
            {
                var PramI = setDuLieu(DMBSYS, hdTemplateID, "0");
                DataProvider.NonqueryProc("DM_BannerSYS_Ins", PramI);
            }

            return RedirectToAction("BannersysList", "Bannersys", new { id = hdTemplateID });
        }
        #endregion

        #region "Thay doi banner"
        public ActionResult BannersysEdit(string id)
        {
            List<SqlParameter> Pram = new List<SqlParameter>();
            SqlParameter DMBannerID = new SqlParameter("@DMBannerID", SqlDbType.Int);
            DMBannerID.Value = id;
            Pram.Add(DMBannerID);
            var dt = DataProvider.SelectStoreProcedure("DM_BannerSYS_Get", Pram);
            DM_BannerSYS DMSYS = new DM_BannerSYS();
            if (dt.Rows.Count > 0)
            {
                DMSYS.DMBannerID = int.Parse(dt.Rows[0]["DMBannerID"].ToString());
                DMSYS.TenDanhMuc = dt.Rows[0]["TenDanhMuc"].ToString();
                DMSYS.ParentID = int.Parse(dt.Rows[0]["ParentID"].ToString());
                DMSYS.M_TemplateID = int.Parse(dt.Rows[0]["M_TemplateID"].ToString());
                DMSYS.Starts = dt.Rows[0]["Starts"].ToString();
                DMSYS.Ends = dt.Rows[0]["Ends"].ToString();
                ViewData["M_TemplateID"] = dt.Rows[0]["M_TemplateID"].ToString();
            }
            return View(DMSYS);
        }

        [HttpPost]
        [ValidateInput(false)]
        public ActionResult BannersysEdit(DM_BannerSYS DMBSYS)
        {
            var PramI = setDuLieu(DMBSYS);
            DataProvider.NonqueryProc("DM_BannerSYS_Upd", PramI);
            return RedirectToAction("BannersysList", "Bannersys", new { id = DMBSYS.M_TemplateID });
        }
        #endregion

        public List<SqlParameter> setDuLieu(DM_BannerSYS DMSYS)
        {
            List<SqlParameter> Pram = new List<SqlParameter>();
            SqlParameter DMBannerID = new SqlParameter("@DMBannerID", SqlDbType.Int);
            DMBannerID.Value = DMSYS.DMBannerID;
            Pram.Add(DMBannerID);
            SqlParameter TenDanhMuc = new SqlParameter("@TenDanhMuc", SqlDbType.NVarChar);
            TenDanhMuc.Value = DMSYS.TenDanhMuc;
            Pram.Add(TenDanhMuc);
            SqlParameter Starts = new SqlParameter("@Starts", SqlDbType.NVarChar);
            Starts.Value = DMSYS.Starts;
            Pram.Add(Starts);
            SqlParameter Ends = new SqlParameter("@Ends", SqlDbType.NVarChar);
            Ends.Value = DMSYS.Ends;
            Pram.Add(Ends);
            return Pram;
        }

        public List<SqlParameter> setDuLieu(DM_BannerSYS DMSYS, string hdTemplateID, string _ParentID)
        {
            List<SqlParameter> Pram = new List<SqlParameter>();
            SqlParameter TenDanhMuc = new SqlParameter("@TenDanhMuc", SqlDbType.NVarChar);
            TenDanhMuc.Value = DMSYS.TenDanhMuc;
            Pram.Add(TenDanhMuc);
            SqlParameter ParentID = new SqlParameter("@ParentID", SqlDbType.Int);
            ParentID.Value = _ParentID;
            Pram.Add(ParentID);
            SqlParameter M_TemplateID = new SqlParameter("@M_TemplateID", SqlDbType.Int);
            M_TemplateID.Value = hdTemplateID;
            Pram.Add(M_TemplateID);
            SqlParameter Starts = new SqlParameter("@Starts", SqlDbType.NVarChar);
            Starts.Value = DMSYS.Starts;
            Pram.Add(Starts);
            SqlParameter Ends = new SqlParameter("@Ends", SqlDbType.NVarChar);
            Ends.Value = DMSYS.Ends;
            Pram.Add(Ends);
            return Pram;
        }

        public string KiemTra(string _ID)
        {
            List<SqlParameter> Pram = new List<SqlParameter>();
            SqlParameter ParentID = new SqlParameter("@ParentID", SqlDbType.VarChar);
            ParentID.Value = "0";
            Pram.Add(ParentID);
            SqlParameter M_TemplateID = new SqlParameter("@M_TemplateID", SqlDbType.VarChar);
            M_TemplateID.Value = _ID;
            Pram.Add(M_TemplateID);
            var DML = DataProvider.SelectStoreProcedure("DM_BannerSYS_Lst", Pram);
            if (DML.Rows.Count > 0)
            {
                return DML.Rows[0]["DMBannerID"].ToString();
            }
            return "";
        }
    }
}
